Hardware device based software generation

ABSTRACT

A method and system for improving an operation of an automated IT system is provided. The method includes identifying a minimum set of software applications associated with requirements of processes executed by a hardware device with respect to an IT system. A list of sub-features associated with software based solutions is generated and associated evaluation code is generated. Software features are identified and software operational solutions are generated. Gating criteria adjustment code for selecting additional software applications is generated and executed resulting in improved operation of the hardware device.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation application claiming priority to Ser.No. 15/473,018 filed Mar. 29, 2017, the contents of which are herebyincorporated by reference.

FIELD

The present invention relates generally to a method for evaluatingsoftware applications and in particular to a method and associatedsystem for improving software technology associated with an operation ofa hardware device via generation and combining of software code forimproving an efficiency of software and associated hardware devices.

BACKGROUND

Accurately evaluating instructions for operating a device typicallyincludes an inaccurate process with little flexibility. Determiningsystem solutions with respect to operational features of devices mayinclude a complicated process that may be time consuming and require alarge amount of resources. Accordingly, there exists a need in the artto overcome at least some of the deficiencies and limitations describedherein above.

SUMMARY

A first aspect of the invention provides an automated IT systemoperational improvement method comprising: identifying, by a processorof a hardware device of an IT system, a minimum set of softwareapplications associated with requirements of processes executed by thehardware device with respect to the IT system, wherein the requirementsare comprised by metadata; generating, by the processor based on resultsof the identifying, a list of sub-features and a minimum fitmentcriteria associated with software based solutions for modifying theminimum set of software applications; generating, by the processor basedon the software based solutions and analyzed database systems,evaluation code for evaluating available software applications of theminimum set of software applications with respect to features of thelist of sub-features associated with specified fitment scores;identifying, by the processor, software features for each availablesoftware application of the available software applications; generating,by the processor in response to mapping associated data structures tospecialized memory devices, software operational solutions for each theavailable software application; identifying, by the processor, asoftware operational solution of the software operational solutions, thesoftware operational solution comprising all available features of thesoftware features associated with the minimum set of softwareapplications and comprising a greater number of features than any othersoftware application of the minimum set of software applications;generating, by the processor based on the software operational solution,gating criteria adjustment code for selecting additional softwareapplications of the minimum set of software applications; and executing,by the processor, the gating criteria adjustment code resulting inimproved operation of the hardware device.

A second aspect of the invention provides a computer program product,comprising a computer readable hardware storage device storing acomputer readable program code, the computer readable program codecomprising an algorithm that when executed by a processor of a hardwaredevice of an IT system implements an automated IT system operationalimprovement method, the method comprising: identifying, by theprocessor, a minimum set of software applications associated withrequirements of processes executed by the hardware device with respectto the IT system, wherein the requirements are comprised by metadata;generating, by the processor based on results of the identifying, a listof sub-features and a minimum fitment criteria associated with softwarebased solutions for modifying the minimum set of software applications;generating, by the processor based on the software based solutions andanalyzed database systems, evaluation code for evaluating availablesoftware applications of the minimum set of software applications withrespect to features of the list of sub-features associated withspecified fitment scores; identifying, by the processor, softwarefeatures for each available software application of the availablesoftware applications; generating, by the processor in response tomapping associated data structures to specialized memory devices,software operational solutions for each the available softwareapplication; identifying, by the processor, a software operationalsolution of the software operational solutions, the software operationalsolution comprising all available features of the software featuresassociated with the minimum set of software applications and comprisinga greater number of features than any other software application of theminimum set of software applications; generating, by the processor basedon the software operational solution, gating criteria adjustment codefor selecting additional software applications of the minimum set ofsoftware applications; and executing, by the processor, the gatingcriteria adjustment code resulting in improved operation of the hardwaredevice.

A third aspect of the invention provides a hardware device of an ITsystem comprising a processor coupled to a computer-readable memoryunit, the memory unit comprising instructions that when executed by thecomputer processor implements an automated IT system operationalimprovement method comprising: identifying, by the processor, a minimumset of software applications associated with requirements of processesexecuted by the hardware device with respect to the IT system, whereinthe requirements are comprised by metadata; generating, by the processorbased on results of the identifying, a list of sub-features and aminimum fitment criteria associated with software based solutions formodifying the minimum set of software applications; generating, by theprocessor based on the software based solutions and analyzed databasesystems, evaluation code for evaluating available software applicationsof the minimum set of software applications with respect to features ofthe list of sub-features associated with specified fitment scores;identifying, by the processor, software features for each availablesoftware application of the available software applications; generating,by the processor in response to mapping associated data structures tospecialized memory devices, software operational solutions for each theavailable software application; identifying, by the processor, asoftware operational solution of the software operational solutions, thesoftware operational solution comprising all available features of thesoftware features associated with the minimum set of softwareapplications and comprising a greater number of features than any othersoftware application of the minimum set of software applications;generating, by the processor based on the software operational solution,gating criteria adjustment code for selecting additional softwareapplications of the minimum set of software applications; and executing,by the processor, the gating criteria adjustment code resulting inimproved operation of the hardware device.

The present invention advantageously provides a simple method andassociated system capable of accurately evaluating instructions foroperating a device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a system for improving hardware device operation bygenerating evaluation and gating criteria adjustment software code forautomatically selecting software applications by mapping softwarerequirements with respect to a hardware device, in accordance withembodiments of the present invention.

FIG. 2 illustrates an algorithm detailing a process flow enabled by thesystem of FIG. 1 for improving hardware device operation by generatingevaluation and gating criteria adjustment software code forautomatically selecting software applications by mapping softwarerequirements with respect to a hardware device, in accordance withembodiments of the present invention.

FIG. 3 illustrates execution of a step of FIG. 2 for generating a listof sub-features and a minimum fitment criteria associated with softwarebased solutions for modifying a minimum set of software applications, inaccordance with embodiments of the present invention.

FIG. 4 illustrates execution of a step of FIG. 2 for generatingevaluation code for evaluating available software applications ofminimum set of software applications, in accordance with embodiments ofthe present invention.

FIG. 5 illustrates execution of a step of FIG. 2 for identifying asoftware operational solution, in accordance with embodiments of thepresent invention.

FIG. 6 illustrates execution of a step of FIG. 2 for generating andexecuting gating criteria adjustment code for selecting additionalsoftware applications resulting in improved operation of a hardwaredevice, in accordance with embodiments of the present invention.

FIG. 7 illustrates a computer system used by the system of FIG. 1 forenabling a process for improving hardware device operation by generatingevaluation and gating criteria adjustment software code forautomatically selecting software applications by mapping softwarerequirements with respect to a hardware device, in accordance withembodiments of the present invention.

DETAILED DESCRIPTION

FIG. 1 illustrates a system 100 for improving hardware device operationby generating evaluation and gating criteria adjustment software codefor automatically selecting software applications by mapping softwarerequirements with respect to a hardware device 14, in accordance withembodiments of the present invention. System 100 is enabled toautomatically select software for an operational improvement project bymapping software/hardware requirements to IT system frameworksdetermining associated capabilities and processes System 100 enables aprocess for improving hardware/software technology by:

1. Selecting a minimum set of software applications associated withcapabilities and requirements associated with functional andnon-functional attributes for a hardware system/device.2. Verifying if identified requirement attributes for the hardwaresystem/device are mapped with gated requirements to minimizefunctionality thereby providing flexibility to fine tune gating criteriaenabling optimized software selection.3. Creating an ordered set of software applications for selecting anapplicable software application with respect to a width-fit assortment.The applicable software application is identified such that individualrequirements are mapped to the software applications.

System 100 of FIG. 1 includes a server 23 and a database system 21connected through a network 7 to an IT system comprising a hardwaredevice 14. IT system 29 may comprise a plurality of hardware devices(similar to hardware device 14) and/or any type of IT type of device.Hardware device 14 comprises testing/evaluation circuitry/logic 12,criteria adjustment circuitry/logic 15, and a memory system 8. Memorysystem 8 comprises software applications 17 and software code 28. Server23, database system 21, and hardware device 14 each may comprise anembedded device. An embedded device is defined herein as a dedicateddevice or computer comprising a combination of computer hardware andsoftware (fixed in capability or programmable) specifically designed forexecuting a specialized function. Programmable embedded computers ordevices may comprise specialized programming interfaces. In oneembodiment, server 23, database system 21, and hardware device 14 mayeach comprise a specialized hardware device comprising specialized(non-generic) hardware and circuitry (i.e., specialized discretenon-generic analog, digital, and logic based circuitry) for(independently or in combination) executing a process described withrespect to FIGS. 1-3. The specialized discrete non-generic analog,digital, and logic based circuitry (e.g., testing/evaluationcircuitry/logic 12, criteria adjustment circuitry/logic 15, etc.) mayinclude proprietary specially designed components (e.g., a specializedintegrated circuit, such as for example an Application SpecificIntegrated Circuit (ASIC) designed for only implementing an automatedprocess for improving hardware device operation by generating evaluationand gating criteria adjustment software code for automatically selectingsoftware applications by mapping software requirements with respect to ahardware device 14. Hardware device 14 includes memory system 8comprising software applications 17 and software code 28. The memorysystem 8 may include a single memory system. Alternatively, the memorysystem 8 may include a plurality of memory systems. Network 7 mayinclude any type of network including, inter alia, a local area network,(LAN), a wide area network (WAN), the Internet, a wireless network, etc.

System 100 enables a process for selecting software applicationsassociated with capabilities and/or requirements for a minimum set ofsoftware offerings. Decision based code is generated for verifying thatall identified hardware/software based requirements and gatedrequirements are executed. The decision based code enables a process forgenerating fine tune gating criteria associated with modifying softwarebased solutions. Additionally, the decision based code enables amechanism for creating an ordered software set such that a softwareapplication is selected according to a width-fit assortment circuit.

System 100 enables the following process:

1. Software selection mapping functions are defined as follows:

An entire set of required software capabilities, functional components,and software processes are represented by a set: {F}. Additionally, set{F} represents a of a component function schematic such that if, Ccomprises a number of component functions in the function schematic, {F}is represented as follows:

{F}←{F _(c) |∀F _(i) ∈{CBM}::i<C}

A set {P} represents a set of all software applications such that P_(α)is a subset of {P} defined as follows:

{P _(β) }←{P _(βi) |∀P _(i) ∈{P}::β=|P _(j) ::┌j┐=|F|;└j┘=1|}

Therefore, an ordered set that has been fitted for width is enabled toselect a best software application in accordance with the followingassortment function:

{(P _(β))}←{P _(sorted) ∩F _(c) ::∃P≠{Ø},(P _(i) >P _(i-1) |∀P _(i) ∈P)}

Additionally, each dimension of P may be defined as functional ornon-functional dimensions being captured in a set {C}←{set of allcategories}, such that:

{C}←{Cc|∀C _(i)∈{dimensions}::i<C}

Furthermore, two aspects of software selection are captured as a as thewidthFit for ensuring that a final software selection is associated withrelevant dimensions required within a software context. The aspects aredefined as follows with respect to a set {G}:

{G}←{G _(j) |∀G _(j) ∈{D _(H) ,D _(L) ,D _(M) }::┌D _(H) ,D _(L) ,D_(M)┐=1;└D _(H) ,D _(L) ,D _(M)┘=0}

2. Software applications are evaluated as follows:

For each software application in set {P}, an associated score iscompared with respect to gating requirements as identified in the aboveequation for set {G}. The comparison is executed via a Cartesian productalgorithm. Results of the algorithm are stored in a set of applicationscomprising gated categories as follows:

{PGC _(ij) }←{P×G::(P _(i) ,G _(j) >P _(i-1) ,G _(j-1) |∀P _(i) ≥G _(j),G _(j)≡(D _(H) ,D _(L) ,D _(M)))}

Therefore, each software application is evaluated and ordered within aset as follows: {P_(sorted)}←{PGC::PGC_(ij)↔sort(D _(H), D_(L), D_(M))}

3. A widthFit assortment process is executed as follows:

Two sets P_(width) are identified and derived as follows:

{(P _(width))}←{P _(sorted) ∩F _(c) ::∃P≠{Ø},(P _(i) >P _(i-1) |∀P _(i)∈P)}

4. A selection map fitment score is calculated as follows:

${{FitMap}\mspace{14mu} \%} = {\left( {{\frac{\left\{ G_{j} \right\} - \left\{ \left( P_{width} \right)_{j} \right\}}{\left\{ G_{j} \right\}}{::}{\forall{j \leq C}}},{\forall{P_{width} \in \left\{ P \right\}}}} \right)}$

FIG. 2 illustrates an algorithm detailing a process flow enabled bysystem 100 of FIG. 1 for improving hardware device operation bygenerating evaluation and gating criteria adjustment software code forautomatically selecting software applications by mapping softwarerequirements with respect to a hardware device, in accordance withembodiments of the present invention. Each of the steps in the algorithmof FIG. 2 may be enabled and executed in any order by a computerprocessor(s) executing computer code. Additionally, each of the steps inthe algorithm of FIG. 2 may be enabled and executed in combination byserver 23, database system 21, and/or hardware device 14 of FIG. 1. Instep 200, a minimum set of software applications associated withrequirements of processes executed by a hardware device with respect toan IT system are identified. The requirements are comprised by metadata.The minimum set of software applications have been pre-tested foraccurate functionality with respect to performing the processes executedby the hardware device with respect to the IT system. In step 202, alist of sub-features and a minimum fitment criteria associated withsoftware based solutions for modifying the minimum set of softwareapplications is generated based on results of step 200. In step 204,evaluation code for evaluating available software applications (i.e.,for evaluating performance variables of the software features) of theminimum set of software applications is generated with respect tofeatures of the list of sub-features associated with specified fitmentscores. In step 208, software features for each available softwareapplication are identified. In step 210, generating software operationalsolutions for each available software application are generated inresponse to mapping associated data structures to specialized memorydevices. Mapping the associated data structures to the specializedmemory devices may include mapping the requirements to capabilities ofthe software applications of the minimum set of software applications.In step 212, a software operational solution of the software operationalsolutions is identified. The software operational solution includes allavailable features (of the software features) associated with theminimum set of software applications and comprising a greater number offeatures than any other software application of the minimum set ofsoftware applications. In step 214, gating criteria adjustment code forselecting additional software applications is generated and executedresulting in improved operation of the hardware device. Improvedoperation of the hardware device may include, inter alia, an improvedprocessing speed for a processor, an improved memory structure of thehardware device, etc. An improved memory structure enables an improvedaccess speed for accessing data within the improved memory structure viaan internal layered structure of the improved memory structure. In step218, executable code is generated and executed resulting in modifyingsoftware applications of the minimum set of software applications withrespect to improving an efficiency and accuracy of the softwareapplications of the minimum set of software applications. Additionally,additional executable code is generated in response to executing theexecutable code. The additional executable is combined with the softwareapplications of the minimum set of software applications resulting inimproving the efficiency and accuracy of the software applications ofthe minimum set of software applications.

FIG. 3 illustrates execution of step 202 of FIG. 2 for generating a listof sub-features and a minimum fitment (i.e., gating) criteria associatedwith software based solutions for modifying a minimum set of softwareapplications, in accordance with embodiments of the present invention.Execution of step 202 results in the generation of gating criteria 304for each of features 302 and sub-features 308. Gating criteria 302gating criteria for each feature is defined and measurable forevaluation from unstructured data repositories.

FIG. 4 illustrates execution of step 204 of FIG. 2 for generatingevaluation code for evaluating available software applications 402 a . .. 402 n (i.e., for evaluating performance variables of the softwarefeatures) of the minimum set of software applications, in accordancewith embodiments of the present invention. Execution of step 204 resultsin a process for evaluating the available software applications 402 a .. . 402 n with respect to each required software feature F1 . . . F5 todetermine an associated fitment score with respect to code evaluateddata repositories such that key sub features are evaluated with respectto software applications performance. The evaluation code is executed togenerate a quantitate fitment score for each software feature F1 . . .F5 with respect to each of software applications 402 a . . . 402 n. Eachfitment score includes sentiments for existing software applicationusers with respect to selected software features.

FIG. 5 illustrates execution of step 212 of FIG. 2 for identifying asoftware operational solution, in accordance with embodiments of thepresent invention. Execution of step 212 results in identifying a list507 of software features F1 . . . F5 for each of software applications502 a . . . 502 n that have been fulfilled by successfully addressinggating criteria for each software feature. Each software feature (ofsoftware features F1 . . . F5) fulfilled by a software application ismarked as pass 517 a . . . 517 n for the associated feature. A softwareapplication associated with a greatest number of features, with respectto defined gating criteria, comprise top candidates for width fitevaluation process.

FIG. 6 illustrates execution of step 214 of FIG. 2 for generating andexecuting gating criteria adjustment code for selecting additionalsoftware applications resulting in improved operation of a hardwaredevice, in accordance with embodiments of the present invention.Execution of step 214 results in generating possible hardware/softwaresolution options based on execution of a selection mapping technique 600comprising a software mapping executed for storing the possiblehardware/software solution options 602. Each hardware/software option isassociated with all given software features with respect to applicablegating criteria defined for each software feature. Each softwareapplication (associated with a maximum width) is included with anassociated hardware/software solution option and associated with anadditional software application providing at least one software featurethat has not been provided. In response, a best hardware/softwaresolution option is selected from additional identified hardware/softwaresolution options associated with all software features associated with aminimum amount of software products. Additionally, adjustmentrecommendations for adjusting gating criteria for minimizing a number ofsoftware products are generated.

FIG. 7 illustrates a computer system 90 (e.g., server 23, databasesystem 21, and hardware device 14 of FIG. 1) used by or comprised by thesystem of FIG. 1 for improving hardware device operation by generatingevaluation and gating criteria adjustment software code forautomatically selecting software applications by mapping softwarerequirements with respect to a hardware device, in accordance withembodiments of the present invention.

Aspects of the present invention may take the form of an entirelyhardware embodiment, an entirely software embodiment (includingfirmware, resident software, micro-code, etc.) or an embodimentcombining software and hardware aspects that may all generally bereferred to herein as a “circuit,” “module,” or “system.”

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing apparatus receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++, spark, R language,or the like, and conventional procedural programming languages, such asthe “C” programming language or similar programming languages. Thecomputer readable program instructions may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider). In some embodiments, electronic circuitry including, forexample, programmable logic circuitry, field-programmable gate arrays(FPGA), or programmable logic arrays (PLA) may execute the computerreadable program instructions by utilizing state information of thecomputer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, device(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing device to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing device, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing device, and/or other devicesto function in a particular manner, such that the computer readablestorage medium having instructions stored therein comprises an articleof manufacture including instructions which implement aspects of thefunction/act specified in the flowchart and/or block diagram block orblocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing device, or other device tocause a series of operational steps to be performed on the computer,other programmable device or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable device, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The computer system 90 illustrated in FIG. 6 includes a processor 91, aninput device 92 coupled to the processor 91, an output device 93 coupledto the processor 91, and memory devices 94 and 95 each coupled to theprocessor 91. The input device 92 may be, inter alia, a keyboard, amouse, a camera, a touchscreen, etc. The output device 93 may be, interalia, a printer, a plotter, a computer screen, a magnetic tape, aremovable hard disk, a floppy disk, etc. The memory devices 94 and 95may be, inter alia, a hard disk, a floppy disk, a magnetic tape, anoptical storage such as a compact disc (CD) or a digital video disc(DVD), a dynamic random access memory (DRAM), a read-only memory (ROM),etc. The memory device 95 includes a computer code 97. The computer code97 includes algorithms (e.g., the algorithm of FIG. 2) for improvinghardware device operation by generating evaluation and gating criteriaadjustment software code for automatically selecting softwareapplications by mapping software requirements with respect to a hardwaredevice. The processor 91 executes the computer code 97. The memorydevice 94 includes input data 96. The input data 96 includes inputrequired by the computer code 97. The output device 93 displays outputfrom the computer code 97. Either or both memory devices 94 and 95 (orone or more additional memory devices Such as read only memory device96) may include algorithms (e.g., the algorithm of FIG. 2) and may beused as a computer usable medium (or a computer readable medium or aprogram storage device) having a computer readable program code embodiedtherein and/or having other data stored therein, wherein the computerreadable program code includes the computer code 97. Generally, acomputer program product (or, alternatively, an article of manufacture)of the computer system 90 may include the computer usable medium (or theprogram storage device).

In some embodiments, rather than being stored and accessed from a harddrive, optical disc or other writeable, rewriteable, or removablehardware memory device 95, stored computer program code 84 (e.g.,including algorithms) may be stored on a static, nonremovable, read-onlystorage medium such as a Read-Only Memory (ROM) device 85, or may beaccessed by processor 91 directly from such a static, nonremovable,read-only medium 85. Similarly, in some embodiments, stored computerprogram code 97 may be stored as computer-readable firmware 85, or maybe accessed by processor 91 directly from such firmware 85, rather thanfrom a more dynamic or removable hardware data-storage device 95, suchas a hard drive or optical disc.

Still yet, any of the components of the present invention could becreated, integrated, hosted, maintained, deployed, managed, serviced,etc. by a service supplier who offers to improve hardware deviceoperation by generating evaluation and gating criteria adjustmentsoftware code for automatically selecting software applications bymapping software requirements with respect to a hardware device. Thus,the present invention discloses a process for deploying, creating,integrating, hosting, maintaining, and/or integrating computinginfrastructure, including integrating computer-readable code into thecomputer system 90, wherein the code in combination with the computersystem 90 is capable of performing a method for enabling a process forimproving hardware device operation by generating evaluation and gatingcriteria adjustment software code for automatically selecting softwareapplications by mapping software requirements with respect to a hardwaredevice. In another embodiment, the invention provides a business methodthat performs the process steps of the invention on a subscription,advertising, and/or fee basis. That is, a service supplier, such as aSolution Integrator, could offer to enable a process for improvinghardware device operation by generating evaluation and gating criteriaadjustment software code for automatically selecting softwareapplications by mapping software requirements with respect to a hardwaredevice. In this case, the service supplier can create, maintain,support, etc. a computer infrastructure that performs the process stepsof the invention for one or more customers. In return, the servicesupplier can receive payment from the customer(s) under a subscriptionand/or fee agreement and/or the service supplier can receive paymentfrom the sale of advertising content to one or more third parties.

While FIG. 7 shows the computer system 90 as a particular configurationof hardware and software, any configuration of hardware and software, aswould be known to a person of ordinary skill in the art, may be utilizedfor the purposes stated supra in conjunction with the particularcomputer system 90 of FIG. 7. For example, the memory devices 94 and 95may be portions of a single memory device rather than separate memorydevices.

While embodiments of the present invention have been described hereinfor purposes of illustration, many modifications and changes will becomeapparent to those skilled in the art. Accordingly, the appended claimsare intended to encompass all such modifications and changes as fallwithin the true spirit and scope of this invention.

What is claimed is:
 1. An automated IT system operational improvementmethod comprising: generating, by a processor of a hardware device of anIT system based on results of identifying a minimum set of softwareapplications associated with requirements of processes executed by saidhardware device with respect to said IT system, a list of sub-featuresand a minimum fitment criteria associated with software based solutionsfor modifying said minimum set of software applications, wherein saidrequirements are comprised by metadata; generating, by said processorbased on said software based solutions and analyzed database systems,evaluation code for evaluating available software applications of saidminimum set of software applications with respect to features of saidlist of sub-features associated with specified fitment scores;identifying, by said processor, software features for each availablesoftware application of said available software applications;generating, by said processor in response to mapping associated datastructures to specialized memory devices, software operational solutionsfor each said available software application; identifying, by saidprocessor, a software operational solution of said software operationalsolutions, said software operational solution comprising all availablefeatures of said software features associated with said minimum set ofsoftware applications and comprising a greater number of features thanany other software application of said minimum set of softwareapplications; generating, by said processor based on said softwareoperational solution, gating criteria adjustment code for selectingadditional software applications of said minimum set of softwareapplications; and executing, by said processor, said gating criteriaadjustment code resulting in improved operation of said hardware device.2. The method of claim 1, further comprising: generating, by saidprocessor, executable code associated with said software operationalsolution; executing, by said processor, said executable code resultingin modifying software applications of said minimum set of softwareapplications with respect to improving an efficiency and accuracy ofsaid software applications of said minimum set of software applications;generating, by said processor in response to said executing, additionalexecutable code; and combining, by said processor, said additionalexecutable with said software applications of said minimum set ofsoftware applications resulting in said improving said efficiency andaccuracy of said software applications of said minimum set of softwareapplications.
 3. The method of claim 1, wherein said generating saidevaluation code comprises: evaluating performance variables of saidsoftware features.
 4. The method of claim 1, wherein said requirementsare associated with said software applications of said minimum set ofsoftware applications.
 5. The method of claim 1, wherein said mappingsaid associated data structures to said specialized memory devicescomprises mapping said requirements to capabilities of said softwareapplications of said minimum set of software applications.
 6. The methodof claim 1, wherein said improved operation of said hardware devicecomprises an improved processing speed for said processor.
 7. The methodof claim 1, wherein said improved operation of said hardware devicecomprises an improved memory structure of said hardware device, andwherein said improved memory structure enables an improved access speedfor accessing data within said improved memory structure via an internallayered structure of said improved memory structure.
 8. The method ofclaim 1, further comprising: providing at least one support service forat least one of creating, integrating, hosting, maintaining, anddeploying computer-readable code in the control hardware, said codebeing executed by the computer processor to implement: said generatingsaid list of sub-features, said generating said evaluation code, saididentifying said software features, said generating said softwareoperational solutions, said identifying said software operationalsolution, said generating said gating criteria adjustment code, and saidexecuting.
 9. A computer program product, comprising a computer readablehardware storage device storing a computer readable program code, saidcomputer readable program code comprising an algorithm that whenexecuted by a processor of a hardware device of an IT system implementsan automated IT system operational improvement method, said methodcomprising: generating, by said processor based on results ofidentifying a minimum set of software applications associated withrequirements of processes executed by said hardware device with respectto said IT system, a list of sub-features and a minimum fitment criteriaassociated with software based solutions for modifying said minimum setof software applications, wherein said requirements are comprised bymetadata; generating, by said processor based on said software basedsolutions and analyzed database systems, evaluation code for evaluatingavailable software applications of said minimum set of softwareapplications with respect to features of said list of sub-featuresassociated with specified fitment scores; identifying, by saidprocessor, software features for each available software application ofsaid available software applications; generating, by said processor inresponse to mapping associated data structures to specialized memorydevices, software operational solutions for each said available softwareapplication; identifying, by said processor, a software operationalsolution of said software operational solutions, said softwareoperational solution comprising all available features of said softwarefeatures associated with said minimum set of software applications andcomprising a greater number of features than any other softwareapplication of said minimum set of software applications; generating, bysaid processor based on said software operational solution, gatingcriteria adjustment code for selecting additional software applicationsof said minimum set of software applications; and executing, by saidprocessor, said gating criteria adjustment code resulting in improvedoperation of said hardware device.
 10. The computer program product ofclaim 9, wherein said method further comprises: generating, by saidprocessor, executable code associated with said software operationalsolution; executing, by said processor, said executable code resultingin modifying software applications of said minimum set of softwareapplications with respect to improving an efficiency and accuracy ofsaid software applications of said minimum set of software applications;generating, by said processor in response to said executing, additionalexecutable code; and combining, by said processor, said additionalexecutable with said software applications of said minimum set ofsoftware applications resulting in said improving said efficiency andaccuracy of said software applications of said minimum set of softwareapplications.
 11. The computer program product of claim 9, wherein saidgenerating said evaluation code comprises: evaluating performancevariables of said software features.
 12. The computer program product ofclaim 9, wherein said requirements are associated with said softwareapplications of said minimum set of software applications.
 13. Thecomputer program product of claim 9, wherein said mapping saidassociated data structures to said specialized memory devices comprisesmapping said requirements to capabilities of said software applicationsof said minimum set of software applications.
 14. The computer programproduct of claim 9, wherein said improved operation of said hardwaredevice comprises an improved processing speed for said processor. 15.The computer program product of claim 9, wherein said improved operationof said hardware device comprises an improved memory structure of saidhardware device, and wherein said improved memory structure enables animproved access speed for accessing data within said improved memorystructure via an internal layered structure of said improved memorystructure.
 16. A hardware device of an IT system comprising a processorcoupled to a computer-readable memory unit, said memory unit comprisinginstructions that when executed by the computer processor implements anautomated IT system operational improvement method comprising:generating, by said processor based on results of identifying a minimumset of software applications associated with requirements of processesexecuted by said hardware device with respect to said IT system, a listof sub-features and a minimum fitment criteria associated with softwarebased solutions for modifying said minimum set of software applications,wherein said requirements are comprised by metadata; generating, by saidprocessor based on said software based solutions and analyzed databasesystems, evaluation code for evaluating available software applicationsof said minimum set of software applications with respect to features ofsaid list of sub-features associated with specified fitment scores;identifying, by said processor, software features for each availablesoftware application of said available software applications;generating, by said processor in response to mapping associated datastructures to specialized memory devices, software operational solutionsfor each said available software application; identifying, by saidprocessor, a software operational solution of said software operationalsolutions, said software operational solution comprising all availablefeatures of said software features associated with said minimum set ofsoftware applications and comprising a greater number of features thanany other software application of said minimum set of softwareapplications; generating, by said processor based on said softwareoperational solution, gating criteria adjustment code for selectingadditional software applications of said minimum set of softwareapplications; and executing, by said processor, said gating criteriaadjustment code resulting in improved operation of said hardware device.17. The hardware device of claim 16, wherein said method furthercomprises: generating, by said processor, executable code associatedwith said software operational solution; executing, by said processor,said executable code resulting in modifying software applications ofsaid minimum set of software applications with respect to improving anefficiency and accuracy of said software applications of said minimumset of software applications; generating, by said processor in responseto said executing, additional executable code; and combining, by saidprocessor, said additional executable with said software applications ofsaid minimum set of software applications resulting in said improvingsaid efficiency and accuracy of said software applications of saidminimum set of software applications.
 18. The hardware device of claim16, wherein said generating said evaluation code comprises: evaluatingperformance variables of said software features.
 19. The hardware deviceof claim 16, wherein said requirements are associated with said softwareapplications of said minimum set of software applications.
 20. Thehardware device of claim 16, wherein said mapping said associated datastructures to said specialized memory devices comprises mapping saidrequirements to capabilities of said software applications of saidminimum set of software applications.